<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
</html>
<script>
  //   1. 说明 a = b = c = d = 1;的执行过程
  /*
    执行过程：
    1 => d    此时的 d 为 1
    d => c    此时的 c 为 1
    c => b    此时的 b 为 1
    b => a    此时的 a 为 1
    1 => d => c => b => a   依次赋值
  */

  //   2. for(var i = 0,j = 0; i < 5, j < 10; i++,j++){} 请问当前for循环的循环次数??为什么
  /*
      i 与 j 的初始值都是为 0    每次循环 i 和 j 都会 +1     for循环停止的条件是 i >= 5 && j >=10
      执行 5 次时，i = 5 , j = 5 ,未达到停止循环的条件, 继续执行循环
      执行 10 次时，i = 10 , j = 10 ，已达到停止循环的条件，停止循环
  */

  //   3. 代码题:请得到7天以后的现在的时间
  /*
          实现思路：
          无论要得到多少天后的时间，或者是多少天前的时间，
          先得得到当前日期，再做后面的处理
        */
  var date1 = new Date(); // 实例化 Date 对象,获取当前时间
  var date2 = new Date(date1); // 把获取到的当前时间作为参数，带入到七天后那个 Date 对象中
  date2.setDate(date1.getDate() + 7); // 修改时间，将date1 的 日期 + 7

  var Y = date2.getFullYear(); // 获取当前的年份
  var M = date2.getMonth(); // 获取当前月份
  M += 1; // 月份+1
  var D = date2.getDate(); // 获取当前日
  var h = date2.getHours(); // 获取当前的时
  var m = date2.getMinutes(); // 获取当前的分
  var s = date2.getSeconds(); // 获取当前的秒
  var time = Y + '年' + M + '月' + D + '日' + ' ' + h + ':' + m + ':' + s; // 将上面获取到的值，做拼接操作处理
  console.log(time);

  //   4. 代码题:'abaabgfdebbafefgfsrsbabesseeeeaa' 请计算每一个字母出现的次数,及出现最多次数的字母

  var str = 'abaabgfdebbafefgfsrsbabesseeeeaa'; // 声明一个变量 str - 要做处理的字符串
  var obj = {}; // 声明一个变量 obj - 用来在 for 循环中记录每个字母出现的次数

  for (i = 0; i < str.length; i++) {
    // 查重判断
    if (obj[str[i]]) {
      // 如果对象中有这个字母,就 键值 +1
      obj[str[i]]++;
    } else {
      // 如果对象中没有这个字母,把字母加到对象中，字母为键名，初始值是 1
      obj[str[i]] = 1;
    }
  }

  var max = 0;
  var maxChar = null;
  // //遍历这个对象
  for (var keyName in obj) {
    if (max < obj[keyName]) {
      max = obj[keyName]; //max始终储存次数最大的那个
      maxChar = keyName; //那么对应的字符就是当前的key
    }
    console.log(keyName + '出现了' + obj[keyName] + '次'); // 将遍历出来的键值对做拼接
  }
  console.log('最多的字符是' + maxChar);
  console.log('出现的次数是' + max);
</script>
